package com.yehongyu.mytools.dom.xml;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.List;

import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.ProcessingInstruction;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class JDomWriter {

	public static void main(String args[]) {
		try {
			SAXBuilder sb = new SAXBuilder();
			// 根据输入创建文档对象
			InputStream in  = Thread.currentThread().getContextClassLoader().getResourceAsStream("dom/Input.xml");
			Document doc = sb.build(in);
			// 加入一条处理指令
			ProcessingInstruction pi = new ProcessingInstruction(
					"xml-stylesheet",
					"href=\"bookList.html.xsl\" type=\"text/xsl\"");
			// 把这条处理指令，加入文档中
			doc.addContent(pi);
			
			// 获得这个文档得跟元素
			Element root = doc.getRootElement();
			// 获得这个跟元素，的所有子元素
			List<?> ls = root.getChildren();
			// 得到第一个子元素
			Element e1 = (Element) ls.get(0);
			// 给这个字元素添加一条属性
			e1.setAttribute(new Attribute("hot", "true"));
			//设置元素的文本
			e1.setText("cute");
			e1.setText(Float.toString(50.0f));

			//设置输出格式
			Format format = Format.getCompactFormat();
			format.setEncoding("gb2312"); // 设置xml文件的字符为gb2312
			format.setIndent("        ");// 设置缩进
			//根据输出格式输出文档到指定路径
			XMLOutputter xml = new XMLOutputter(format);
			xml.output(doc, new FileOutputStream(ClassLoader.getSystemResource("dom/Output.xml").getFile()));
		} catch (Exception e) {
			e.printStackTrace();
		}

	}
}
